Memory devices using semiconductor elements are broadly classified into two categories: a volatile device that loses stored data when power supply stops, and a nonvolatile device that holds stored data even when power is not supplied.
A typical example of a volatile memory device is a dynamic random access memory (DRAM). A DRAM stores data in such a manner that a transistor included in a memory element is selected and charge is stored in a capacitor.
When data is read from a DRAM, charge in a capacitor is lost according to the above principle; thus, another write operation is necessary every time data is read. Moreover, a transistor included in a memory element has leakage current (off-state current) between a source and a drain in an off state, or the like and charge flows into or out of a capacitor even if the transistor is not selected, which makes a data holding period short. For that reason, another write operation (refresh operation) is necessary at predetermined intervals, and it is difficult to sufficiently reduce power consumption. Further, since stored data is lost when power supply stops, another memory device using a magnetic material or an optical material is needed to hold stored data for a long time.
Another example of a volatile memory device is a static random access memory (SRAM). An SRAM holds stored data by using a circuit such as a flip-flop and thus does not need refresh operation, which is an advantage over a DRAM. However, cost per storage capacity is high because a circuit such as a flip-flop is used. Moreover, as in a DRAM, stored data in an SRAM is lost when power supply stops.
A typical example of a nonvolatile memory device is a flash memory. A flash memory includes a floating gate between a gate electrode and a channel formation region of a transistor and stores data by holding charge in the floating gate. Therefore, a flash memory has advantages in that the data holding period is extremely long (almost permanent) and refresh operation which is necessary in a volatile memory device is not needed (e.g., see Patent Document 1).
However, a gate insulating layer included in a memory element deteriorates owing to tunneling current generated in writing, so that the memory element stops its function after a certain number of write operations. In order to reduce adverse effects of this problem, a method in which the number of write operations for memory elements is equalized is employed, for example. However, a complicated peripheral circuit is needed to realize this method. Moreover, even when such a method is employed, the fundamental problem of lifetime is not solved. In other words, a flash memory is not suitable for applications in which data is frequently rewritten.
In addition, a flash memory needs high voltage for holding charge in the floating gate or removing charge from the floating gate, and also needs a circuit for generating high voltage. Further, it takes a relatively long time to hold or remove charge, and it is not easy to perform writing and erasing at higher speed.